iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
自我挑戰組

網路爬蟲系列 第 22

【Day22】網路爬蟲-將取得的資料儲存成CSV和JSON檔案

  • 分享至 

  • xImage
  •  

儲存成CSV檔案

CSV檔案的內容是使用純文字表示的表格資料,這是一個文字檔案,其中的每一行是表格的一列,每一個欄位是使用逗號來分隔。例如:現在有一個表格資料,我們準備將表格轉換成CSV資料。

Data1, Data2, Data3
10,33,45
5,25,56

上述CSV資料的每一列最後有新行字元「\n」來換行,每一個欄位是使用「,」逗號分隔,我們可以直接使用Excel開啟 CSV檔案。
讀取CSV檔案
Prthon程式存取CSV檔案是使用csv模組,例如:讓取 Example.csv檔案的內容,如下所示:

import csv

csvfile = "Example.csv"
with open (csvfile,'r')as fp:
    reader = csv. reader (fp)
    for row in reader:
        print (','. join (row))

上述程式碼匯入csv模組後,呼叫open()函數開啟檔案,然後使用csv.reader()函數讀取檔案內容,for/in迴圈讀取每一列資料,我們是呼叫join()函數建立「,」逗號分隔的字串。
將資料寫入CSV檔案
我們也可以將網路資料建立成CSV資料的清單,然後將清單寫入CSV檔案。例如:將CSV清單寫入 Example2.csv 檔案,如下所示:

import csv

csvfile = "Example2.csv"
listl = [[10,33,45], [5, 25,56]
with open (csvfile,'w+',newline='')as fp:
    writer = csv.writer (fp)
    writer.writerow(["Data1","Data2","Data3"])
    for row in list1:
        writer. writerow (row)

上述程式碼呼叫 open()函數開啟檔案,參數newline=’’是刪除每一列多餘的換行,然後使用 csv.witer()函數寫入檔案,witerow()函數是寫入一列CSV資料,其參數是清單,for/in迴圈可以將清單 list1 的每一個元素寫入檔案。


上一篇
【Day21】網路爬蟲-修改HTML網頁來爬取資料
下一篇
【Day23】網路爬蟲-認識動態網頁與Selenium
系列文
網路爬蟲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言